A purely functional implementation of ROBDDs in Haskell

نویسندگان

  • Jan Christiansen
  • Frank Huch
چکیده

This paper presents an implementation of the ROBDD data structure in Haskell. It shows that lazy evaluation can be used to improve the performance of some ROBDD algorithms. While standard implementations construct the whole structure no matter which parts are demanded we use lazy evaluation to provide a more demand driven construction. To achieve this behavior we have to relax a property that guarantees that ROBDDs contain no redundant nodes. All measurements show that relaxing causes only a small number of additional nodes. Furthermore we present an equality check implementation that performs well although it does not make use of canoicity. The canonicity is lost because of the relaxing. The equality check implementation benefits highly from laziness.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Functional Rent AdvisorSlim

The Functional Rent Advisor (FRA) is an intelligent Inter-net application that allows calculating an estimate of the fair rent for a at in Munich. The FRA is a re-implementation of the Munich Rent Advisor FA96] using the high-level purely functional language Haskell. This paper shows that Haskell is appropriate to realize non-trivial Inter-net applications. Simplicity, exibility and rapid proto...

متن کامل

Implementation of a Pragmatic Translation from Haskell into Isabelle/HOL

Among other things the functional programming paradigm – in its pure form – offers the advantage of referential transparency. This facilitates reasoning over programs considerably. Haskell is one of the rare purely functional programming languages that is also of practical relevance. Yet, a comparable success for the verification of Haskell programs has not been achieved, so far. Unfortunately,...

متن کامل

Mpp Parallel Haskell Preliminary Results

Preliminary Results Kei Davis http://www.c3.lanl.gov/~kei/kei.html Abstract MPP Haskell is a parallel implementation of the lazy purely-functional language Haskell for the Thinking Machines Inc. CM-5 large-scale distributed-memory multiprocessor. MPP Haskell is a derivative of GUM, a message-based parallel implementation of Haskell. GUM was carefully designed to minimise performance loss from l...

متن کامل

Parallel Haskell ( Preliminary Draft )

MPP Haskell is a parallel implementation of the Haskell functional language for the Thinking Machines Inc. CM-5 large-scale distributed-memory multiprocessor. MPP Haskell is a derivative of GUM, a message-based parallel implementation of Haskell. GUM was carefully designed to minimise performance loss from low-bandwidth and high-latency communications; as an apparent consequence MPP Haskell, wi...

متن کامل

Reinventing Haskell Backtracking

Almost ten years ago, Ralf Hinze has written a functional pearl on how to derive backtracking functionality for the purely functional programming language Haskell. In these notes, we show how to arrive at the efficient, two-continuation based backtracking monad derived by Hinze starting from an intuitive inefficient implementation that we subsequently refine using well known program transformat...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006